package threads;

import java.io.IOException;
import java.io.ObjectInputStream;
import java.io.Serializable;
import java.net.Socket;


import mensagens.Mensagem;

import excecoes.NomeOuIpConflitanteException;

public class ReceptorDadosCliente extends ReceptorDados implements Serializable {

	/**
	 * 
	 */
	private static final long serialVersionUID = 8459279341752550457L;


	public ReceptorDadosCliente(int porta) throws IOException{
		super(porta);	
	}
	
	
	public void run() {
		while (true){
			try {
				Socket cliente = super.getSocket().accept();
				
				ObjectInputStream input = new ObjectInputStream(cliente.getInputStream());
				
				Mensagem mensagem;
	
				mensagem = (Mensagem) input.readObject();			
				
				mensagem.tratarMensagemComoCliente();
				
				
			} catch (IOException e) {
				// TODO Auto-generated catch block
				e.printStackTrace();
			}catch (ClassNotFoundException e) {
				// TODO Auto-generated catch block
				e.printStackTrace();
			} catch (NomeOuIpConflitanteException e) {
				
				e.printStackTrace();
			}
		}
	}
	
	
}
